import moment from 'moment'
//日期转字符串
export function dateFormat(fmt, date) {
  let ret
  const opt = {
    'Y+': date.getFullYear().toString(), // 年
    'm+': (date.getMonth() + 1).toString(), // 月
    'd+': date.getDate().toString(), // 日
    'H+': date.getHours().toString(), // 时
    'M+': date.getMinutes().toString(), // 分
    'S+': date.getSeconds().toString() // 秒
  }
  for (let k in opt) {
    ret = new RegExp('(' + k + ')').exec(fmt)
    if (ret) {
      fmt = fmt.replace(
        ret[1],
        ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
      )
    }
  }
  return fmt
}

// 计算两个日期相差的天数
export function DateDiff(sDate1, sDate2) {
  var aDate, oDate1, oDate2, iDays
  aDate = sDate1.split('-')
  oDate1 = new Date(aDate[0], parseInt(aDate[1]) - 1, aDate[2]) //转换为12-18-2006格式
  aDate = sDate2.split('-')
  oDate2 = new Date(aDate[0], parseInt(aDate[1]) - 1, aDate[2])
  iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数
  return iDays
}

// 计算2021-08-01 转换成时间戳
export function DateTimestamp(date) {
  var startDate, newDates
  startDate = date.split('-')
  newDates = new Date(startDate[0], parseInt(startDate[1]) - 1, startDate[2])
  return newDates.getTime()
}

//计算20210801 转换成时间戳
export function strDateTime(date) {
  var yDate, mDate, dDate, newDates
  yDate = date.substring(0, 4)
  mDate = date.substring(4, 6)
  dDate = date.substring(6, 8)
  newDates = new Date(parseInt(yDate), parseInt(mDate) - 1, parseInt(dDate))
  return newDates.getTime()
}

 // 金额添加千分位
 export const comdify = (n) => {
  let numtoFixed = n
  if(!n) return n;
  if(n.toString().indexOf(",") !== -1) {
    return n 
  } else {
    numtoFixed = parseFloat(numtoFixed).toFixed(2)
  }
  let str = numtoFixed.split('.');
  let re = /\d{1,3}(?=(\d{3})+$)/g;
  let n1 = str[0].replace(re, "$&,");
  return str.length > 1 && str[1] ? `${n1}.${str[1]}` : `${n1}.00`;
};
/**
 * 去除千分位中的‘，'
 * @param {*} num 
 * @returns 
 */
export const delcommafy = (num) => { 
  if(!num) return num;
  num = num.toString();
  num = num.replace(/,/gi, '');
  return num;
};

/**
 * 当前初始日期在营业日历区间内时时间往后加
 * @param {*} time 
 * @param {*} arr 
 * @returns 
 */

export function transStartTime(time, arr) {
  let t = time
  while(arr.some(a => moment(a).format('YYYY-MM-DD') === moment(t).format('YYYY-MM-DD'))) {
    t = moment(t).add(1, 'days')
  }
  console.log(moment(time).format('YYYY-MM-DD'), moment(t).format('YYYY-MM-DD'))
  return moment(t).format('YYYY-MM-DD')
}
